//
//  HMCalendarFlowLayout.m
//  MotherBaby
//
//  Created by mengxiangyu on 2017/7/9.
//  Copyright © 2017年 mengxiangyu. All rights reserved.
//

#import "HMCalendarFlowLayout.h"

@implementation HMCalendarFlowLayout

- (id)init {
    self = [super init];
    if (self) {
        
        CGFloat mainWidth = [[UIScreen mainScreen] bounds].size.width;
        CGFloat dayLabelWidth = (mainWidth-2*8)/7;
        CGFloat dayLabelHeight = dayLabelWidth*0.9;
        
        
//        self.headerReferenceSize = CGSizeMake(mainWidth, 65.0f);//头部视图的框架大小
        self.itemSize = CGSizeMake(dayLabelWidth, dayLabelHeight);//每个cell的大小
        self.minimumLineSpacing = 2.0f;//每行的最小间距
        self.minimumInteritemSpacing = 2.0f;//每列的最小间距
        self.sectionInset = UIEdgeInsetsMake(0, 2, 0, 2);//网格视图的/上/左/下/右,的边距
    }
    return self;
}


//
//- (NSArray<UICollectionViewLayoutAttributes *> *) layoutAttributesForElementsInRect:(CGRect)rect {
//    
//    NSMutableArray* attributes = [[super layoutAttributesForElementsInRect:rect] mutableCopy];
//    
//    //从第二个循环到最后一个
//    for(int i = 1; i < [attributes count]; ++i) {
//        //当前attributes
//        UICollectionViewLayoutAttributes *currentLayoutAttributes = attributes[i];
//        //上一个attributes
//        UICollectionViewLayoutAttributes *prevLayoutAttributes = attributes[i - 1];
//        //我们想设置的最大间距，可根据需要改
//        NSInteger maximumSpacing = 0;
//        //前一个cell的最右边
//        NSInteger origin = CGRectGetMaxX(prevLayoutAttributes.frame);
//        //如果当前一个cell的最右边加上我们想要的间距加上当前cell的宽度依然在contentSize中，我们改变当前cell的原点位置
//        //不加这个判断的后果是，UICollectionView只显示一行，原因是下面所有cell的x值都被加到第一行最后一个元素的后面了
//        if(origin + maximumSpacing + currentLayoutAttributes.frame.size.width < self.collectionViewContentSize.width) {
//            CGRect frame = currentLayoutAttributes.frame;
//            frame.origin.x = origin + maximumSpacing;
//            currentLayoutAttributes.frame = frame;
//        }
//    }
//    
//    return attributes;
//}
//
//- (BOOL) shouldInvalidateLayoutForBoundsChange:(CGRect)newBound {
//    
//    return YES;
//    
//}

@end
